/**
 * @file test_1d.cpp
 * @brief 
 * @author Linhuo (1066117119@qq.com)
 * @version 1.0
 * @date 2021-06-09
 * 
 * @copyright Copyright (c) 2021  Linhuo
 */
#ifndef _PRO2_FUNCTIONS_TEST_H_
#define _PRO2_FUNCTIONS_TEST_H_
#include <iostream>
#include <cmath>
double Dim1_type1_df2rd(double * P)
{
    return  -(sin(P[0])-cos(P[0])*cos(P[0]))*exp(sin(P[0]));
};

double Dim1_type1_f(double *P)
{
    return exp(sin(P[0]));
};

double Dim2_type1_df2rd(double * P)
{
    return  (-2*sin(P[0])*sin(P[1])+sin(P[1])*cos(P[0])*cos(P[0])+sin(P[0])*cos(P[1])*cos(P[1]))*exp(sin(P[0])*sin(P[1]));
};

double Dim2_type1_f(double *P)
{
    return exp(sin(P[0]*sin(P[1])));
};

double Dim1_type2_df2rd(double * P)
{
    return  0;
};

double Dim1_type2_f(double *P)
{
    return P[0];
};

double Dim2_type2_df2rd (double *P)
{
    return 0;
};

double Dim2_type2_f(double *P)
{
    return P[0]+P[1];
}


#else
//DO NOTHING
#endif